import java.util.Scanner;

public class Test8 {
    public static void main(String[] args) {
        //1.定义一个数组,用来存储6名评委的打分
        int[] scoreArr=getScores();
        for (int i = 0; i < scoreArr.length; i++) {
            System.out.println(scoreArr[i]);
        }

        //2.求出数组的最大值
        int max=getMax(scoreArr);
        //3.求数组的最小值
        int min=getMin(scoreArr);
        //4.求出数组中6个分数的总和
        int sum=getSum(scoreArr);
        //5.(总和-最大值-最小值)/(长度-2)
        int avg=(sum-max-min)/(scoreArr.length-2);
        //打印结果
        System.out.println("选手的最终得分是:"+avg);

    }
    //求出数组中6个分数的总和
    public static int getSum(int[] scoreArr){
        int sum=0;
        for (int i = 0; i < scoreArr.length; i++) {
            sum=sum+scoreArr[i];
        }
        return sum;
    }

    //求数组的最大值
    public static int getMax(int[] scoreArr){
        int max=scoreArr[0];
        for (int i = 1; i < scoreArr.length; i++) {
            if(scoreArr[i]>max){
                max=scoreArr[i];
            }
        }
        return max;
    }

    //求数组的最小值
    //变量的批量修改
    //选中变量名,点击shift+f6,在修改变量名,就可对变量名批量修改
    public static int getMin(int[] scoreArr){
        int min=scoreArr[0];
        for (int i = 1; i < scoreArr.length; i++) {
            if(scoreArr[i]<min){         //注意在将求最大值的代码复制过来之后,要将这里改为<
                min=scoreArr[i];
            }
        }
        return min;
    }

    public static int[] getScores(){
        //定义数组
        int[] scores=new int[6];
        //使用键盘录入的形式,输入分数(0-100)
        Scanner sc=new Scanner(System.in);
        for (int i = 0; i < scores.length; ) {     //这里的条件控制为空,表示如果录入错误,下标不进行修改,继续在当前下标录入,当录入成功后再进行i++,所以写在下面
            System.out.println("请输入评委的打分:");
            int score=sc.nextInt();
            if(score>=0&&score<=100){
                scores[i]=score;
                i++;            //只有录入了一个合法的数据,才录入,录入成功后才往下录入下一个成绩
            }else{
                System.out.println("成绩超出了范围,继续录入,当前的i为:"+i);

            }

        }
        return scores;
    }
}
